package com.vdongchina.miniapp.http.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder;
import lombok.Data;

/**
 * Copyright (C)
 * FileName: CreateRefundRequest
 * Author:   maokai
 * Date:     2021/8/12 16:24
 * Description:
 */
@Data
@Builder
public class CreateRefundRequest implements Request {
    /**
     * 是	小程序APPID
     */
    @JsonProperty(value = "app_id")
    private String appId;
    /**
     * 是	商户分配订单号，标识进行退款的订单
     */
    @JsonProperty(value = "out_order_no")
    private String outOrderNo;
    /**
     * 是	商户分配退款号
     */
    @JsonProperty(value = "out_refund_no")
    private String outRefundNo;
    /**
     * 是	退款金额，单位[分]
     */
    @JsonProperty(value = "total_amount")
    private int totalAmount;
    /**
     * 是	退款金额，单位[分]
     */
    @JsonProperty(value = "refund_amount")
    private int refundAmount;
    /**
     * 是	退款原因
     */
    private String reason;
    /**
     * 否	开发者自定义字段，回调原样回传
     */
    @JsonProperty(value = "cp_extra")
    private String cpExtra;
    /**
     * 否	商户自定义回调地址
     */
    @JsonProperty(value = "notify_url")
    private String notifyUrl;
    /**
     * 是	开发者对核心字段签名, 签名方式见文档附录, 防止传输过程中出现意外
     */
    private String sign;
    /**
     * 否，服务商模式接入必传	第三方平台服务商 id，非服务商模式留空
     */
    @JsonProperty(value = "thirdparty_id")
    private String thirdpartyId;
    /**
     * 否	是否屏蔽担保支付的推送消息，1-屏蔽 0-非屏蔽，接入 POI 必传
     */
    @JsonProperty(value = "disable_msg")
    private int disableMsg;
    /**
     * 否	担保支付消息跳转页
     */
    @JsonProperty(value = "msg_page")
    private String msgPage;
    /**
     * 否	是否为分账后退款，1-分账后退款；0-分账前退款。分账后退款会扣减可提现金额，请保证余额充足
     */
    @JsonProperty(value = "all_settle")
    private int allSettle;

}
